package cn.zn.modules.pz.his.service.impl;

import cn.zn.modules.pz.enums.PayTypeEnum;
import cn.zn.modules.pz.his.entity.PzPay;
import cn.zn.modules.pz.his.entity.QPzPay;
import cn.zn.modules.pz.his.entity.vo.PzPayVO;
import cn.zn.modules.pz.his.repository.PzPayRepository;
import cn.zn.modules.pz.his.service.PzPayService;
import com.google.common.collect.Lists;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Iterator;
import java.util.List;

@Service
@Slf4j
public class PzPayServiceImpl implements PzPayService {

    @Autowired
    private PzPayRepository pzPayRepository;

    @Override
    public List<PzPayVO> findByMainId(Integer ap, String mainId) {
        List<PzPayVO> pzPayVOS = Lists.newArrayList();
        QPzPay qPzPay = QPzPay.pzPay;
        Iterator<PzPay> iterator = pzPayRepository.findAll(qPzPay.ap.eq(ap).and(qPzPay.mainId.eq(mainId))).iterator();
        PzPay pzPay;
        while (iterator.hasNext()) {
            pzPay = iterator.next();
            pzPayVOS.add(PzPayVO.builder()
                    .payTypeName(PayTypeEnum.findByCode(pzPay.getPayTypeCode()).getName())
                    .docCode(pzPay.getDocCode())
                    .ticketCode(pzPay.getTicketCode())
                    .money(pzPay.getMoney())
                    .build());
        }
        return pzPayVOS;
    }
}
